Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2016, 20:08
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Как обновить каптчу без перезагрузки страницы?
Здравствуйте!
Подскажите пожалуйста, как сделать так, чтоб по нажатию на определенный объект, в моем случае это: <p id="reloadcaptcha">Показать другой код</p>, отправлялся запрос к скрипту, который меняет значение каптчи в сессии, и возвращает обновлённую картинку?
Код:
<?php 
session_start(); 
?>

<form action="" method="post">
<p>Enter text shown below:</p>
<p><img src="./reg/?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p id="reloadcaptcha">Показать другой код</p>
<p><input type="text" name="keystring"></p>
<p><input type="submit" value="Check"></p>
</form>
Изображения:
Тип файла: jpg kcaptcha.jpg (16.0 Кб, 1 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2016, 00:25
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

<img id="captcha" src="./reg/?<?php echo session_name()?>=<?php echo session_id()?>">
<p id="reloadcaptcha">Click</p>

reloadcaptcha.onClick = function() {
  captcha.src = captcha.src.replace(/&d=.*$/, '') + '&d=' + new Date().getTime();
}

как вариант
при клике меняйте src картинки, что произведет ее загрузку
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2016, 10:32
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Сообщение от Poznakomlus Посмотреть сообщение
<img id="captcha" src="./reg/?<?php echo session_name()?>=<?php echo session_id()?>">
<p id="reloadcaptcha">Click</p>

reloadcaptcha.onClick = function() {
  captcha.src = captcha.src.replace(/&d=.*$/, '') + '&d=' + new Date().getTime();
}

как вариант
при клике меняйте src картинки, что произведет ее загрузку
Что то нет реакции...Посмотрите пожалуйста, я правильно сделал?:

Код:
<style>
#reloadcaptcha {
    margin-top: 0px;
    font: bold 13px sans-serif;
    margin-left: 0px;
    text-decoration: underline;
    cursor: pointer;
    clear: both;
}
</style>

<script type="text/livescript">
$(document).ready(function(){
	
   
  $("#reloadcaptcha").onClick = function() {
  $("#captcha.src") = captcha.src.replace(/&d=.*$/, '') + '&d=' + new Date().getTime();
}
	
	
});

</script>


<?php
session_start();
?>
<form action="" method="post">
<p>Enter text shown below:</p>
<p><img id="captcha" src="./reg/?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p id="reloadcaptcha">Показать другой код</p>
<p><input type="text" name="keystring"></p>
<p><input type="submit" value="Check"></p>
</form>
Вложения:
Тип файла: zip kcaptcha.zip (47.7 Кб, 2 просмотров)
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2016, 10:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,149

Сообщение от DDim1000
$("#captcha.src") = captcha.src.replace(/&d=.*$/, '') + '&d=' + new Date().getTime();

var captcha = $("#captcha")[0]; 
captcha.src = captcha.src.replace(/&d=.*$/, '') + '&d=' + new Date().getTime();
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2016, 10:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

session_start(); - открывает/продолжает сессию. Обработчик формирующий каптчу также должен стартовать/продолжать сессию, ибо в ней хранится код. Зачем <?php echo session_name()?>=<?php echo session_id()?>, если браузер сам передает id сессии?
Ответить с цитированием
  #6 (permalink)  
Старый 18.12.2016, 15:32
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Сообщение от рони Посмотреть сообщение
var captcha = $("#captcha")[0]; 
captcha.src = captcha.src.replace(/&d=.*$/, '') + '&d=' + new Date().getTime();
Какая то ошибка...:

Uncaught ReferenceError: $ is not defined
at localhost/:13
Ответить с цитированием
  #7 (permalink)  
Старый 18.12.2016, 16:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,149

Сообщение от DDim1000
Какая то ошибка...:
постарайтесь исправить это самостоятельно!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка одного поля без перезагрузки страницы Batyabest Events/DOM/Window 6 26.12.2013 12:30
Загрузка контента без перезагрузки страницы vah-smile AJAX и COMET 3 30.03.2011 16:37
Замена контента в ячейке страницы без перезагрузки страницы SER Элементы интерфейса 1 24.03.2011 22:04
Срипт для меню без перезагрузки страницы Antonios Общие вопросы Javascript 4 23.03.2011 09:03
Автообновление <div> без перезагрузки страницы Antihrist AJAX и COMET 14 28.07.2008 06:06